package ar.com.nexttome.util;

import java.util.ArrayList;
import java.util.List;

import android.content.Context;
import android.graphics.Bitmap;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import ar.com.nexttome.R;
import ar.com.nexttome.context.ApplicationContext;
import ar.com.nexttome.entities.Mensaje;

public class MensajeArrayAdapter extends ArrayAdapter<Mensaje> {
	private Context ctx;
	private List<Mensaje> mensajes = new ArrayList<Mensaje>();

	public MensajeArrayAdapter(Context context, List<Mensaje> objects) {
		super(context, R.layout.mensajes, objects);

		this.ctx = context;
		this.mensajes = objects;
	}

	public int getCount() {
		return this.mensajes.size();
	}

	public Mensaje getItem(int index) {
		return this.mensajes.get(index);
	}

	public View getView(int position, View convertView, ViewGroup parent) {
		// POR ACA PASA DOS VECES ??
		LayoutInflater inflater = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
		View rowView = inflater.inflate(R.layout.mensajes, parent, false);

		Mensaje mensaje = getItem(position);

		TextView de = (TextView) rowView.findViewById(R.id.de);
		TextView msg = (TextView) rowView.findViewById(R.id.msg);
		TextView id = (TextView) rowView.findViewById(R.id.id);
		ImageView foto = (ImageView) rowView.findViewById(R.id.foto);

		de.setText(mensaje.getFrom());
		msg.setText(mensaje.getMsg());
		String strId = String.valueOf(mensaje.getId());
		id.setText(strId);

		ApplicationContext appctx = (ApplicationContext) ctx.getApplicationContext();		
		Bitmap bitmap = (Bitmap) appctx.getCache().get(mensaje.getFromId());
		foto.setImageBitmap(bitmap);

		return rowView;
	}
}
